package com.guodi.model.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.guodi.model.dto.req.AvtTargetIdtExcelReqDTO;
import com.guodi.model.entity.IdtTargetValue;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * @描述：指标目标值表 服务类
 * @作者: 彭辉
 * @日期: 2020-06-05
 */
public interface IIdtTargetValueService extends IService<IdtTargetValue> {

    /**
     * @描述:根据关键字搜索
     * @入参:
     * @出参:
     * @作者: 戴伙进
     * @日期: 2020/6/17 12:09
     **/
    List<IdtTargetValue> listByKeyWord(String keyWord, Integer year, long pageSize, long start, String sort, String sortWay, String divisionCode, String orgId);

    /**
     * @描述:关键字搜索查询的总记录数
     * @入参:
     * @出参:
     * @作者: 戴伙进
     * @日期: 2020/6/17 15:08
     **/
    Integer listByKeyWordCount(String keyWord, String orgId);

    /**
     * @描述:关键字、行政区划搜索查询的总记录数
     * @入参:
     * @出参:
     * @作者: 汤厚韬
     * @日期: 2020/12/22 16:08
     **/
    Integer listByKeyWordAndCodeCount(String keyWord, Integer year, String divisionCode, String orgId);

    /**
     * @描述:通过行政编码获取行政区名称
     * @入参:
     * @出参:
     * @作者: 戴伙进
     * @日期: 2020/6/18 15:42
     **/
    String getNameByDivisionCode(String divisionCode);

//    /**
//     * @描述: 根据avtIndicatorsTargetValues列表, 批量修改获取新增idt_target_value的数据
//     * @入参:
//     * @出参:
//     * @作者: 余家鑫
//     * @日期: 2021/7/21 上午9:50
//     */
//    @Transactional(rollbackFor = {RuntimeException.class, Exception.class})
//    void batchUpdateByAvtIndicatorsTargetValues(List<AvtIndicatorsTargetValue> avtIndicatorsTargetValues, boolean coverIdt);

//    /**
//     * @描述: 市县级别系统, 导入zip包成果的时候, 根据导入的AvtTargetIdtExcelReqDTO列表, 批量修改或者新增idt_target_value的数据
//     * @入参:
//     * @出参:
//     * @作者: 余家鑫
//     * @日期: 2021/9/7 上午9:14
//     */
//    @Transactional(rollbackFor = {RuntimeException.class, Exception.class})
//    void batchUpdateByAvtTargetIdtExcelReqDTOs(List<AvtTargetIdtExcelReqDTO> avtTargetIdtExcelReqDTOs, boolean coverIdt);
//
//    /**
//     * @描述: 市县级别系统, 导入zip包成果的时候, 根据导入的AvtTargetIdtExcelReqDTO列表, 校验指标是否存在
//     * @入参:
//     * @出参:
//     * @作者: 余家鑫
//     * @日期: 2021/10/27 上午11:04
//     */
//    Boolean checkIdtExistsByAvtTargetIdtExcelReqDTOs(List<AvtTargetIdtExcelReqDTO> avtTargetIdtExcelReqDTOs);

//    /**
//     * @描述: 根据avtIndicatorsTargetValues列表
//     * @入参:
//     * @出参:
//     * @作者: 余家鑫
//     * @日期: 2021/10/27 下午2:14
//     */
//    Boolean checkIdtExistsByAvtIndicatorsTargetValues(List<AvtIndicatorsTargetValue> avtIndicatorsTargetValues);
}
